#include<cstdio>
#include<cstring>
const int maxn=110;
int c[maxn][maxn];
int n,w,h;
int low(int x)
{
	return x&(x^(x-1));
}
void add(int x,int y,int v)
{
	for(int i=x;i<=h;i+=low(i))
		for(int j=y;j<=w;j+=low(j))
			c[i][j]+=v;
}
int sum(int x,int y)
{
	int ans=0;
	for(int i=x;i>0;i-=low(i))
		for(int j=y;j>0;j-=low(j))
			ans+=c[i][j];
	return ans;
}
int max(int x,int y)
{
	return x>y?x:y;
}
int getsum(int x1,int y1,int x2,int y2)
{
	return sum(x2,y2)-sum(x1-1,y2)-sum(x2,y1-1)+sum(x1-1,y1-1);
}
int main()
{
	freopen("test.in","r",stdin);
	while(scanf("%d",&n)&&n)
	{
		scanf("%d%d",&w,&h);
		memset(c,0,sizeof(c));
		for(int i=1;i<=n;i++)
		{
			int x,y;
			scanf("%d%d",&x,&y);
			add(y,x,1);
		}
		int s,t;
		scanf("%d%d",&s,&t);
		int ans=0;
		for(int i=1;i+t-1<=h;i++)
			for(int j=1;j+s-1<=w;j++)
				ans=max(ans,getsum(i,j,i+t-1,j+s-1));
		printf("%d\n",ans);
	}
	return 0;
}
